<html>
<body>
This inspection finds various problems about incorrect registration of plugin components
(Components and Actions) both in Java code as well as the plugin.xml descriptor.

<p>
    Those problems include
    <ul>
        <li>Unresolved component/action implementation-classes (plugin.xml)</li>
        <li>Unresolved component interface-classes (plugin.xml)</li>
        <li>Component implementation-class is not assignable to its interface-class (plugin.xml)</li>
        <li>Incorrect component registration, e.g. <code>ProjectComponent</code> is registered as Application Component
            or the class doesn't implement any component interface at all (plugin.xml / Java Code)
        </li>
        <li>Incorrect class modifiers: Action classes must be public and must have a public
            no-argument constructor. Additionally, Action and Component implementation classes
            must not be abstract (plugin.xml / Java Code)
        </li>
        <li>Duplicate interface-class: A class may only be used once as interface-class (plugin.xml)</li>
    </ul>
</p>

<p>
    The inspection provides options to switch off the checks in plugin.xml and Java code. Checking
    Action classes in Java can also be toggled separately.
</p>
</body>
</html>